This invention relates generally to computer software, and more specifically to a system and method for maintaining a directory system in a distributed computer network.
Personal computers or workstations may be linked in a computer network to facilitate the sharing of data, applications, files, and other resources. One common type of computer network is a client/server network, where some computers act as servers and others as clients. In a client/server network, the sharing of resources is accomplished through the use of one or more servers. Each server includes a processing unit that is dedicated to managing centralized resources and to sharing these resources with other servers and/or various personal computers and workstations, which are known as the clients of the server.
Directories and directory services are often provided to enable an environment for access to a particular resource. One example of a directory service is Novell Directory Services (xe2x80x9cNDSxe2x80x9d) for Novell Netware networks, as provided by Novell, Inc. of Provo, Utah. NDS provides a logical tree-structure view of all resources on the network so that clients can access them without knowing where they are physically located.
For database applications where computers are widely distributed (e.g., geographically), replication provides an efficient way for distributed systems to access current information. Replication enables many computers or computer applications to work with their own local, current copy, or replica, of one or more entries. Since a widely distributed network may rely on many network links for connecting several servers and clients, a replica can provide an efficient method for storing specific copies of the entries.
However, replicas can often be very difficult to keep current; the level of difficulty being directly proportional with the expanse of the network distribution. A particularly difficult aspect of maintaining replicas of directories, is restoring the most updated copy after a file server fails and is then restored. On the Netware platform, Novell can keep an end user from copying old DS database data onto a server, even though the volume may fail and is restored to the server. Therefore the database is either up to date or the server is re-installed into the tree.
On platforms other than Novell, no mechanism is in place that has the ability to dictate and enforce a policy that will ensure that only a correct copy of the DS database is installed. For example, when a full restore of a Windows NT(trademark) volume is performed, it may contain an outdated copy of the DS database. If this database is put into operation, it can cause misconverged replicas, or more serious problems if the partition structure has been changed since the backup was made.
It is desired to provide a unified mechanism for ensuring that only a correct, up to date version of the DS database is restored, or to properly manage out of date data.
In contrast to the prior art, the present invention provides a method and system for ensuring an up to date copy of the DS database is re-installed for a file server that has failed and been restored or otherwise is being brought online after being offline. This invention solves this problem by validating the DS database each time the database is opened. The method can include placing a signature in the database indicating that the database was closed normally. The method can also include indicating the time the database was last used. The method can also check the partition placement and structure with other servers that hold replicas to insure that the partition structure is correct. The method can also include comparing the synchronization state of replicas with the other servers that hold replicas of the DS database to see if they agree on the synchronized/time/state of the replicas of the restored server. The method can also check to see that the DS database belongs to this server. The method can then notify the operator/administrator if the database is determined to be old or foreign. The operator/administrator can then produce a more suitable database if possible.
One of the benefits of the invention is that the operator will not mistakenly corrupt the other associated databases in the network.
In addition, the method can include preparing the out of date database for current use once it has been determined that a better copy is not available.